home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-06-15 | 2.1 KB | 98 lines | [TEXT/PJMM] |
- {* }
- { REAL Simple UENG Sample App}
- { Written by Leonard Rosenthol}
- { Original Version - 06/01/91}
- { Pascal Conversion - 06/11/91}
- { Don't forget to copy the uu**code resource over and rename it}
- { encode.π.rsrc.}
- {*}
-
- PROGRAM Encode;
-
- USES
- UUIntf;
-
- VAR
- origFile, destFile: SFReply;
- err: OSErr;
- origName: Str255;
-
-
-
- PROCEDURE InitToolbox;
- BEGIN
- InitGraf(@thePort);
- InitCursor;
- InitFonts;
- InitWindows;
- InitMenus;
- InitDialogs(NIL);
- TEInit;
- FlushEvents(-1, 0);
- END;
-
-
- PROCEDURE getOrigFile (VAR reply: SFReply);
- VAR
- where: Point;
- typeList: SFTypeList;
- BEGIN
- SetPt(where, 50, 50);
- typeList[0] := 'TEXT';
- SFGetFile(where, '', NIL, 1, typeList, NIL, reply);
- END;
-
- PROCEDURE getDestFile (VAR reply: SFReply; VAR destName: Str255);
- VAR
- where: Point;
- BEGIN
- SetPt(where, 50, 50);
- SFPutFile(where, 'Name the encoded file', destName, NIL, reply);
- END;
-
- FUNCTION encodeFiles (origFile, destFile: SFReply): OSErr;
- VAR
- engineHdl, tableHdl: Handle;
- err, err1: OSErr;
- origRefNum, destRefNum, numbufrs: integer;
- header: Str255;
- count: longint;
- BEGIN
- numbufrs := 100;
- err := FSOpen(origFile.fName, origFile.vRefNum, origRefNum);
- IF (err = noErr) THEN
- BEGIN
- err := Create(destFile.fName, destFile.vRefNum, 'MPS ', 'TEXT');
- IF (err = noErr) THEN
- BEGIN
- err := FSOpen(destFile.fName, destFile.vRefNum, destRefNum);
- header := CONCAT('begin 0755 ', origFile.fName, CHR(13));
- count := length(header);
- err := FSWrite(destRefNum, count, @header[1]);
-
- err := UULoad(tableHdl, engineHdl);
- err := uuencode(origRefNum, destRefNum, numbufrs, NIL, tableHdl^, engineHdl^);
- UUnload(tableHdl, engineHdl);
-
- header := CONCAT('end', CHR(13));
- count := length(header);
- err := FSWrite(destRefNum, count, @header[1]);
- err1 := FSClose(destRefNum);
- END;
- err1 := FSClose(origRefNum);
- END;
- encodeFiles := err;
- END;
-
-
- BEGIN
- InitToolbox;
- getOrigFile(origFile);
- IF (origFile.good) THEN
- BEGIN
- origName := CONCAT(origFile.fName, '.uu');
- getDestFile(destFile, origName);
- IF (destFile.good) THEN
- err := encodeFiles(origFile, destFile);
- END;
- END.